1
Pengukur Efisiensi: Mengapa Notasi O-Besar adalah Bahasa Umum bagi Programmer?
AI028Lesson 2
00:00

Kompleksitas Waktu (Time Complexity) Bukan mengukur detik absolut dari eksekusi algoritma, melainkan fungsi matematis yang menggambarkan bagaimana waktu eksekusi algoritma meningkat seiring dengan ukuran masalah $n$. Ini didasarkan pada prinsip inti bahwa 'analisis algoritma adalah metode pengukuran algoritma yang independen terhadap implementasi'.

Skala nWaktu T(n)O(nยฒ)O(n)O(log n)O(1)

Mengapa ini merupakan bahasa umum?

  • Evolusi Kuantitatif: Notasi O-Besar mengabaikan istilah orde rendah dan konstanta, hanya fokus padaKelas Besaran (Order of Magnitude).
  • Kejelasan Pengukuran: Programmer biasanya menggunakanKondisi Terburuk (Worst Case) sebagai dasar, memberikan jaminan batas bawah kinerja.
  • Keputusan yang Berlaku di Berbagai Lingkungan: Baik di komputer super maupun chip tertanam, manfaat optimisasi dari $O(n^2)$ ke $O(n \log n)$ bersifat esensial.
Metode Penghitungan (Counting)
Menghitung jumlah kemunculan setiap karakter dalam dua string. Jika daftar hitungan karakter sama, maka dua string tersebut pasti merupakan anagram. Metode ini mencapai efisiensi Metode Penghitungan: $O(n)$ yang tinggi.